﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Review
{
    class Animal
    {
        public string name;

       public Animal(string name) 
        {
            this.name = name;
        }
        public virtual void eat()
        {
            Console.WriteLine("我会吃");
        }

    }

    class Vehicle
    {
        public string name;

        public Vehicle(string name)
        {
            this.name = name; 
        }

        public virtual void CarryingPeople()
        {
            Console.WriteLine("我能运输载人！");
        }
    }

    class Bird : Animal, IFlyable
    {
        public Bird(string name) : base(name)
        {
            this.name = name;
        }
        public override void eat()
        {
            base.eat();
            Console.WriteLine("我会下蛋");
        }
       
        public void Fly()
        {
            Console.WriteLine("起飞！");
        }

        public void Landd()
        {
            Console.WriteLine("降落！");
        }

        public void ReadytoFly()
        {
            Console.WriteLine("准备起飞！");
        }
    }
    class Superman : Animal, IFlyable
    {
        public Superman(string name) : base(name)
        {
            this.name = name;
        }
        public override void eat()
        {
            base.eat();
            
        }

        public void Fly()
        {
            Console.WriteLine("起飞！");
        }

        public void Landd()
        {
            Console.WriteLine("降落！");
        }

        public void ReadytoFly()
        {
            Console.WriteLine("准备起飞！");
        }
    }
    class Plane : Vehicle, IFlyable
    {
        public Plane(string name) : base(name)
        {
            this.name = name;
        }
        public override void CarryingPeople()
        {
            base.CarryingPeople();
        }

        public void Fly()
        {
            Console.WriteLine("起飞！");
        }

        public void Landd()
        {
            Console.WriteLine("降落！");
        }

        public void ReadytoFly()
        {
            Console.WriteLine("准备起飞！");
        }
    }

}
